<?php

namespace Shared\Main\LRC;

use Shared\LRC\Annotations as LRC;
use Shared\LocalSyntaxSpecific\Annotations as LSS;
use Doctrine\ORM\Mapping as ORM;
use Shared\EventListener\AuditableInterface;

/**
 * @package LabelLRC
 * @version 1.0.0.0
 * @author J.Minchev
 * @internal 
 * @todo
 * 
 * @ORM\Entity
 * @ORM\Table(name="labels_lrc")
 * @LRC\Translation
 */
class Label implements AuditableInterface, \Shared\LocalSyntaxSpecific\Entity\LocalSyntaxSpecificI {

	/**
	 * @ORM\Id
	 * @ORM\Column(type="integer")
	 * @ORM\GeneratedValue
	 */
	private $id;

	/**
	 * @ORM\Column
	 */
	private $value;

	/**
	 * @LRC\Object
	 * @ORM\ManyToOne(targetEntity="Shared\Main\Label", inversedBy="translations")
	 * @ORM\JoinColumn(name="objectId", referencedColumnName="id")
	 */
	private $Object;

	/**
	 * @LRC\Language
	 * @ORM\ManyToOne(targetEntity="Shared\Main\Language")
	 * @ORM\JoinColumn(name="languageId", referencedColumnName="id")
	 */
	private $Language;

	public function getId() {
		return $this->id;
	}

	public function setId($id) {
		$this->id = $id;
	}

	public function getValue() {
		return $this->value;
	}

	public function setValue($value) {
		$this->value = $value;
	}

	public function getObject() {
		return $this->Object;
	}

	public function setObject($Object) {
		$this->Object = $Object;
	}

	public function getLanguage() {
		return $this->Language;
	}

	public function setLanguage($Language) {
		$this->Language = $Language;
	}

}
